package com.example.myapplication.database

import androidx.room.Entity
import androidx.room.PrimaryKey

/**
 * 用户持仓记录实体类
 * 记录用户的买入和卖出操作
 */
@Entity(tableName = "user_positions")
data class UserPosition(
    @PrimaryKey(autoGenerate = true)
    val id: Long = 0,
    
    val symbol: String,              // 股票代码（如 sh600519）
    val stockName: String,           // 股票名称
    val type: String,                // 类型：BUY 或 SELL
    val price: Double,               // 买入/卖出价格
    val quantity: Int,               // 数量（股）
    val timestamp: Long,             // 操作时间戳
    val reason: String? = null,      // 操作理由
    val signalStrength: Int = 0,     // 信号强度
    
    // 卖出记录关联的买入记录
    val relatedBuyId: Long? = null,  // 关联的买入记录ID（卖出时填写）
    val profit: Double? = null,      // 盈利金额（卖出时计算）
    val profitRate: Double? = null,  // 盈利率（卖出时计算）
    
    // 持仓状态
    val isOpen: Boolean = true,      // 是否未平仓（买入后为true，卖出后为false）
    
    val createdAt: Long = System.currentTimeMillis()  // 创建时间
) {
    companion object {
        const val TYPE_BUY = "BUY"
        const val TYPE_SELL = "SELL"
    }
}

